<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE NoImplicitPrelude #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE DeriveGeneric #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE GeneralizedNewtypeDeriving #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE PolyKinds #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><span id="line-6"></span><span>
</span><span id="line-7"></span><span class="hs-comment">-- | Auxiliary definitions for 'Semigroup'</span><span>
</span><span id="line-8"></span><span class="hs-comment">--</span><span>
</span><span id="line-9"></span><span class="hs-comment">-- This module provides some @newtype@ wrappers and helpers which are</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- reexported from the &quot;Data.Semigroup&quot; module or imported directly</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- by some other modules.</span><span>
</span><span id="line-12"></span><span class="hs-comment">--</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- This module also provides internal definitions related to the</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- 'Semigroup' class some.</span><span>
</span><span id="line-15"></span><span class="hs-comment">--</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- This module exists mostly to simplify or workaround import-graph</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- issues; there is also a .hs-boot file to allow &quot;GHC.Base&quot; and other</span><span>
</span><span id="line-18"></span><span class="hs-comment">-- modules to import method default implementations for 'stimes'</span><span>
</span><span id="line-19"></span><span class="hs-comment">--</span><span>
</span><span id="line-20"></span><span class="hs-comment">-- @since 4.11.0.0</span><span>
</span><span id="line-21"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Data.Semigroup.Internal</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Base.html"><span class="hs-identifier">GHC.Base</span></a></span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Any"><span class="hs-identifier">Any</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Enum.html"><span class="hs-identifier">GHC.Enum</span></a></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.html"><span class="hs-identifier">GHC.Num</span></a></span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Read.html"><span class="hs-identifier">GHC.Read</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Show.html"><span class="hs-identifier">GHC.Show</span></a></span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Generics.html"><span class="hs-identifier">GHC.Generics</span></a></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Real.html"><span class="hs-identifier">GHC.Real</span></a></span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span class="hs-comment">-- | This is a valid definition of 'stimes' for an idempotent 'Semigroup'.</span><span>
</span><span id="line-32"></span><span class="hs-comment">--</span><span>
</span><span id="line-33"></span><span class="hs-comment">-- When @x &lt;&gt; x = x@, this definition should be preferred, because it</span><span>
</span><span id="line-34"></span><span class="hs-comment">-- works in \(\mathcal{O}(1)\) rather than \(\mathcal{O}(\log n)\).</span><span>
</span><span id="line-35"></span><span id="local-6989586621679514310"><span id="local-6989586621679514311"><span class="annot"><a href="Data.Semigroup.Internal.html#stimesIdempotent"><span class="hs-identifier hs-type">stimesIdempotent</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier hs-type">Integral</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514311"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514311"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514310"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514310"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-36"></span><span id="stimesIdempotent"><span class="annot"><span class="annottext">stimesIdempotent :: forall b a. Integral b =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesIdempotent"><span class="hs-identifier hs-var hs-var">stimesIdempotent</span></a></span></span><span> </span><span id="local-6989586621679513975"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513975"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679513974"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513974"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-37"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513975"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; a
forall a. [Char] -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;stimesIdempotent: positive multiplier expected&quot;</span></span><span>
</span><span id="line-38"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513974"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span class="hs-comment">-- | This is a valid definition of 'stimes' for an idempotent 'Monoid'.</span><span>
</span><span id="line-41"></span><span class="hs-comment">--</span><span>
</span><span id="line-42"></span><span class="hs-comment">-- When @mappend x x = x@, this definition should be preferred, because it</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- works in \(\mathcal{O}(1)\) rather than \(\mathcal{O}(\log n)\)</span><span>
</span><span id="line-44"></span><span id="local-6989586621679514301"><span id="local-6989586621679514302"><span class="annot"><a href="Data.Semigroup.Internal.html#stimesIdempotentMonoid"><span class="hs-identifier hs-type">stimesIdempotentMonoid</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier hs-type">Integral</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514302"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514301"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514302"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514301"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514301"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-45"></span><span id="stimesIdempotentMonoid"><span class="annot"><span class="annottext">stimesIdempotentMonoid :: forall b a. (Integral b, Monoid a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesIdempotentMonoid"><span class="hs-identifier hs-var hs-var">stimesIdempotentMonoid</span></a></span></span><span> </span><span id="local-6989586621679513962"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513962"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679513961"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513961"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#compare"><span class="hs-identifier hs-var">compare</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513962"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">0</span></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-46"></span><span>  </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; a
forall a. [Char] -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;stimesIdempotentMonoid: negative multiplier&quot;</span></span><span>
</span><span id="line-47"></span><span>  </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a
forall a. Monoid a =&gt; a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-48"></span><span>  </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513961"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="hs-comment">-- | This is a valid definition of 'stimes' for a 'Monoid'.</span><span>
</span><span id="line-51"></span><span class="hs-comment">--</span><span>
</span><span id="line-52"></span><span class="hs-comment">-- Unlike the default definition of 'stimes', it is defined for 0</span><span>
</span><span id="line-53"></span><span class="hs-comment">-- and so it should be preferred where possible.</span><span>
</span><span id="line-54"></span><span id="local-6989586621679513958"><span id="local-6989586621679513959"><span class="annot"><a href="Data.Semigroup.Internal.html#stimesMonoid"><span class="hs-identifier hs-type">stimesMonoid</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier hs-type">Integral</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679513959"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679513958"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679513959"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679513958"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679513958"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-55"></span><span id="stimesMonoid"><span class="annot"><span class="annottext">stimesMonoid :: forall b a. (Integral b, Monoid a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesMonoid"><span class="hs-identifier hs-var hs-var">stimesMonoid</span></a></span></span><span> </span><span id="local-6989586621679513946"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513946"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679513945"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513945"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#compare"><span class="hs-identifier hs-var">compare</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513946"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">0</span></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-56"></span><span>  </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; a
forall a. [Char] -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;stimesMonoid: negative multiplier&quot;</span></span><span>
</span><span id="line-57"></span><span>  </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a
forall a. Monoid a =&gt; a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-58"></span><span>  </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a -&gt; b -&gt; a
forall {a} {a}. (Integral a, Monoid a) =&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513944"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513945"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513946"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-59"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-60"></span><span>      </span><span id="local-6989586621679513944"><span class="annot"><span class="annottext">f :: a -&gt; a -&gt; a
</span><a href="#local-6989586621679513944"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679513925"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679513924"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513924"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-61"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
forall a. Integral a =&gt; a -&gt; Bool
</span><a href="GHC.Real.html#even"><span class="hs-identifier hs-var">even</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513924"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621679513944"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#mappend"><span class="hs-operator hs-var">`mappend`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513924"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span>
</span><span id="line-62"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513924"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-63"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a -&gt; a
forall {a} {a}. (Integral a, Monoid a) =&gt; a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513921"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#mappend"><span class="hs-operator hs-var">`mappend`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513924"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513925"><span class="hs-identifier hs-var">x</span></a></span><span>               </span><span class="hs-comment">-- See Note [Half of y - 1]</span><span>
</span><span id="line-64"></span><span>      </span><span id="local-6989586621679513921"><span class="annot"><span class="annottext">g :: a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513921"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679513903"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679513902"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513902"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span id="local-6989586621679513901"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513901"><span class="hs-identifier hs-var">z</span></a></span></span><span>
</span><span id="line-65"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
forall a. Integral a =&gt; a -&gt; Bool
</span><a href="GHC.Real.html#even"><span class="hs-identifier hs-var">even</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513902"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513921"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#mappend"><span class="hs-operator hs-var">`mappend`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513902"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513901"><span class="hs-identifier hs-var">z</span></a></span><span>
</span><span id="line-66"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513902"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#mappend"><span class="hs-operator hs-var">`mappend`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513901"><span class="hs-identifier hs-var">z</span></a></span><span>
</span><span id="line-67"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513921"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#mappend"><span class="hs-operator hs-var">`mappend`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513902"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513903"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#mappend"><span class="hs-operator hs-var">`mappend`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513901"><span class="hs-identifier hs-var">z</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- See Note [Half of y - 1]</span><span>
</span><span id="line-68"></span><span>
</span><span id="line-69"></span><span class="hs-comment">-- this is used by the class definitionin GHC.Base;</span><span>
</span><span id="line-70"></span><span class="hs-comment">-- it lives here to avoid cycles</span><span>
</span><span id="line-71"></span><span id="local-6989586621679514288"><span id="local-6989586621679514289"><span class="annot"><a href="Data.Semigroup.Internal.html#stimesDefault"><span class="hs-identifier hs-type">stimesDefault</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier hs-type">Integral</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514289"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514288"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514289"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514288"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514288"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-72"></span><span id="stimesDefault"><span class="annot"><span class="annottext">stimesDefault :: forall b a. (Integral b, Semigroup a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesDefault"><span class="hs-identifier hs-var hs-var">stimesDefault</span></a></span></span><span> </span><span id="local-6989586621679513890"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513890"><span class="hs-identifier hs-var">y0</span></a></span></span><span> </span><span id="local-6989586621679513889"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513889"><span class="hs-identifier hs-var">x0</span></a></span></span><span>
</span><span id="line-73"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513890"><span class="hs-identifier hs-var">y0</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">0</span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; a
forall a. [Char] -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;stimes: positive multiplier expected&quot;</span></span><span>
</span><span id="line-74"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; b -&gt; a
forall {a} {a}. (Integral a, Semigroup a) =&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513888"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513889"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513890"><span class="hs-identifier hs-var">y0</span></a></span><span>
</span><span id="line-75"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-76"></span><span>    </span><span id="local-6989586621679513888"><span class="annot"><span class="annottext">f :: a -&gt; a -&gt; a
</span><a href="#local-6989586621679513888"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679513870"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679513869"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513869"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-77"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
forall a. Integral a =&gt; a -&gt; Bool
</span><a href="GHC.Real.html#even"><span class="hs-identifier hs-var">even</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513869"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621679513888"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513869"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span>
</span><span id="line-78"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513869"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-79"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a -&gt; a
forall {a} {a}. (Integral a, Semigroup a) =&gt; a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513868"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513869"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513870"><span class="hs-identifier hs-var">x</span></a></span><span>        </span><span class="hs-comment">-- See Note [Half of y - 1]</span><span>
</span><span id="line-80"></span><span>    </span><span id="local-6989586621679513868"><span class="annot"><span class="annottext">g :: a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513868"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679513850"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679513849"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513849"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span id="local-6989586621679513848"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513848"><span class="hs-identifier hs-var">z</span></a></span></span><span>
</span><span id="line-81"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
forall a. Integral a =&gt; a -&gt; Bool
</span><a href="GHC.Real.html#even"><span class="hs-identifier hs-var">even</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513849"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513868"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513849"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513848"><span class="hs-identifier hs-var">z</span></a></span><span>
</span><span id="line-82"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513849"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513848"><span class="hs-identifier hs-var">z</span></a></span><span>
</span><span id="line-83"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a -&gt; a
</span><a href="#local-6989586621679513868"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513849"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513850"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513848"><span class="hs-identifier hs-var">z</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- See Note [Half of y - 1]</span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span class="hs-comment">{- Note [Half of y - 1]
   ~~~~~~~~~~~~~~~~~~~~~
   Since y is guaranteed to be odd and positive here,
   half of y - 1 can be computed as y `quot` 2, optimising subtraction away.
-}</span><span>
</span><span id="line-90"></span><span>
</span><span id="line-91"></span><span id="local-6989586621679514279"><span id="local-6989586621679514280"><span class="annot"><a href="Data.Semigroup.Internal.html#stimesMaybe"><span class="hs-identifier hs-type">stimesMaybe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier hs-type">Integral</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514280"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514279"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514280"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514279"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514279"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-92"></span><span id="stimesMaybe"><span class="annot"><span class="annottext">stimesMaybe :: forall b a. (Integral b, Semigroup a) =&gt; b -&gt; Maybe a -&gt; Maybe a
</span><a href="Data.Semigroup.Internal.html#stimesMaybe"><span class="hs-identifier hs-var hs-var">stimesMaybe</span></a></span></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe a
</span><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe a
forall a. Maybe a
</span><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-93"></span><span class="annot"><a href="Data.Semigroup.Internal.html#stimesMaybe"><span class="hs-identifier hs-var">stimesMaybe</span></a></span><span> </span><span id="local-6989586621679513837"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513837"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679513836"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513836"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#compare"><span class="hs-identifier hs-var">compare</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513837"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">0</span></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-94"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Maybe a
forall a. [Char] -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;stimes: Maybe, negative multiplier&quot;</span></span><span>
</span><span id="line-95"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Maybe a
forall a. Maybe a
</span><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-96"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a -&gt; Maybe a
forall a. a -&gt; Maybe a
</span><a href="GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">b -&gt; a -&gt; a
forall a b. (Semigroup a, Integral b) =&gt; b -&gt; a -&gt; a
</span><a href="GHC.Base.html#stimes"><span class="hs-identifier hs-var">stimes</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513837"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513836"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-97"></span><span>
</span><span id="line-98"></span><span id="local-6989586621679514273"><span id="local-6989586621679514274"><span class="annot"><a href="Data.Semigroup.Internal.html#stimesList"><span class="hs-identifier hs-type">stimesList</span></a></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier hs-type">Integral</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514274"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514274"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679514273"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679514273"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span></span><span>
</span><span id="line-99"></span><span id="stimesList"><span class="annot"><span class="annottext">stimesList :: forall b a. Integral b =&gt; b -&gt; [a] -&gt; [a]
</span><a href="Data.Semigroup.Internal.html#stimesList"><span class="hs-identifier hs-var hs-var">stimesList</span></a></span></span><span> </span><span id="local-6989586621679513824"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513824"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679513823"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679513823"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-100"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513824"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; b -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var">&lt;</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [a]
forall a. [Char] -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;stimes: [], negative multiplier&quot;</span></span><span>
</span><span id="line-101"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; [a]
forall {t}. (Eq t, Num t) =&gt; t -&gt; [a]
</span><a href="#local-6989586621679513821"><span class="hs-identifier hs-var">rep</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513824"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-102"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-103"></span><span>    </span><span id="local-6989586621679513821"><span class="annot"><span class="annottext">rep :: t -&gt; [a]
</span><a href="#local-6989586621679513821"><span class="hs-identifier hs-var hs-var">rep</span></a></span></span><span> </span><span class="annot"><span class="annottext">t
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-104"></span><span>    </span><span class="annot"><a href="#local-6989586621679513821"><span class="hs-identifier hs-var">rep</span></a></span><span> </span><span id="local-6989586621679513814"><span class="annot"><span class="annottext">t
</span><a href="#local-6989586621679513814"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679513823"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">[a] -&gt; [a] -&gt; [a]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">t -&gt; [a]
</span><a href="#local-6989586621679513821"><span class="hs-identifier hs-var">rep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">t
</span><a href="#local-6989586621679513814"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">t -&gt; t -&gt; t
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">t
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-105"></span><span>
</span><span id="line-106"></span><span class="hs-comment">-- | The dual of a 'Monoid', obtained by swapping the arguments of 'mappend'.</span><span>
</span><span id="line-107"></span><span class="hs-comment">--</span><span>
</span><span id="line-108"></span><span class="hs-comment">-- &gt;&gt;&gt; getDual (mappend (Dual &quot;Hello&quot;) (Dual &quot;World&quot;))</span><span>
</span><span id="line-109"></span><span class="hs-comment">-- &quot;WorldHello&quot;</span><span>
</span><span id="line-110"></span><span id="local-6989586621679513810"><span id="local-6989586621679513811"><span id="local-6989586621679513812"><span id="local-6989586621679513813"></span></span></span></span><span class="hs-keyword">newtype</span><span> </span><span id="Dual"><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-var">Dual</span></a></span></span><span> </span><span id="local-6989586621679514262"><span class="annot"><a href="#local-6989586621679514262"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Dual"><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-var">Dual</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="getDual"><span class="annot"><span class="annottext">forall a. Dual a -&gt; a
</span><a href="Data.Semigroup.Internal.html#getDual"><span class="hs-identifier hs-var hs-var">getDual</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514262"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-111"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span id="local-6989586621679513801"><span id="local-6989586621679513805"><span class="annot"><span class="annottext">Dual a -&gt; Dual a -&gt; Bool
(Dual a -&gt; Dual a -&gt; Bool)
-&gt; (Dual a -&gt; Dual a -&gt; Bool) -&gt; Eq (Dual a)
forall a. Eq a =&gt; Dual a -&gt; Dual a -&gt; Bool
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: Dual a -&gt; Dual a -&gt; Bool
$c/= :: forall a. Eq a =&gt; Dual a -&gt; Dual a -&gt; Bool
== :: Dual a -&gt; Dual a -&gt; Bool
$c== :: forall a. Eq a =&gt; Dual a -&gt; Dual a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>       </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-112"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513767"><span id="local-6989586621679513771"><span id="local-6989586621679513775"><span id="local-6989586621679513779"><span id="local-6989586621679513783"><span id="local-6989586621679513787"><span id="local-6989586621679513791"><span class="annot"><span class="annottext">Eq (Dual a)
Eq (Dual a)
-&gt; (Dual a -&gt; Dual a -&gt; Ordering)
-&gt; (Dual a -&gt; Dual a -&gt; Bool)
-&gt; (Dual a -&gt; Dual a -&gt; Bool)
-&gt; (Dual a -&gt; Dual a -&gt; Bool)
-&gt; (Dual a -&gt; Dual a -&gt; Bool)
-&gt; (Dual a -&gt; Dual a -&gt; Dual a)
-&gt; (Dual a -&gt; Dual a -&gt; Dual a)
-&gt; Ord (Dual a)
Dual a -&gt; Dual a -&gt; Bool
Dual a -&gt; Dual a -&gt; Ordering
Dual a -&gt; Dual a -&gt; Dual a
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
forall {a}. Ord a =&gt; Eq (Dual a)
forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Bool
forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Ordering
forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Dual a
min :: Dual a -&gt; Dual a -&gt; Dual a
$cmin :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Dual a
max :: Dual a -&gt; Dual a -&gt; Dual a
$cmax :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Dual a
&gt;= :: Dual a -&gt; Dual a -&gt; Bool
$c&gt;= :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Bool
&gt; :: Dual a -&gt; Dual a -&gt; Bool
$c&gt; :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Bool
&lt;= :: Dual a -&gt; Dual a -&gt; Bool
$c&lt;= :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Bool
&lt; :: Dual a -&gt; Dual a -&gt; Bool
$c&lt; :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Bool
compare :: Dual a -&gt; Dual a -&gt; Ordering
$ccompare :: forall a. Ord a =&gt; Dual a -&gt; Dual a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-113"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513747"><span id="local-6989586621679513756"><span id="local-6989586621679513759"><span id="local-6989586621679513761"><span class="annot"><span class="annottext">ReadPrec [Dual a]
ReadPrec (Dual a)
Int -&gt; ReadS (Dual a)
ReadS [Dual a]
(Int -&gt; ReadS (Dual a))
-&gt; ReadS [Dual a]
-&gt; ReadPrec (Dual a)
-&gt; ReadPrec [Dual a]
-&gt; Read (Dual a)
forall a. Read a =&gt; ReadPrec [Dual a]
forall a. Read a =&gt; ReadPrec (Dual a)
forall a. Read a =&gt; Int -&gt; ReadS (Dual a)
forall a. Read a =&gt; ReadS [Dual a]
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [Dual a]
$creadListPrec :: forall a. Read a =&gt; ReadPrec [Dual a]
readPrec :: ReadPrec (Dual a)
$creadPrec :: forall a. Read a =&gt; ReadPrec (Dual a)
readList :: ReadS [Dual a]
$creadList :: forall a. Read a =&gt; ReadS [Dual a]
readsPrec :: Int -&gt; ReadS (Dual a)
$creadsPrec :: forall a. Read a =&gt; Int -&gt; ReadS (Dual a)
</span><a href="GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-114"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513736"><span id="local-6989586621679513738"><span id="local-6989586621679513743"><span class="annot"><span class="annottext">Int -&gt; Dual a -&gt; ShowS
[Dual a] -&gt; ShowS
Dual a -&gt; [Char]
(Int -&gt; Dual a -&gt; ShowS)
-&gt; (Dual a -&gt; [Char]) -&gt; ([Dual a] -&gt; ShowS) -&gt; Show (Dual a)
forall a. Show a =&gt; Int -&gt; Dual a -&gt; ShowS
forall a. Show a =&gt; [Dual a] -&gt; ShowS
forall a. Show a =&gt; Dual a -&gt; [Char]
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [Dual a] -&gt; ShowS
$cshowList :: forall a. Show a =&gt; [Dual a] -&gt; ShowS
show :: Dual a -&gt; [Char]
$cshow :: forall a. Show a =&gt; Dual a -&gt; [Char]
showsPrec :: Int -&gt; Dual a -&gt; ShowS
$cshowsPrec :: forall a. Show a =&gt; Int -&gt; Dual a -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-115"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513728"><span id="local-6989586621679513732"><span class="annot"><span class="annottext">Dual a
Dual a -&gt; Dual a -&gt; Bounded (Dual a)
forall a. a -&gt; a -&gt; Bounded a
forall a. Bounded a =&gt; Dual a
maxBound :: Dual a
$cmaxBound :: forall a. Bounded a =&gt; Dual a
minBound :: Dual a
$cminBound :: forall a. Bounded a =&gt; Dual a
</span><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Bounded</span></a></span></span></span><span>  </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-116"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. Dual a -&gt; Rep (Dual a) x)
-&gt; (forall x. Rep (Dual a) x -&gt; Dual a) -&gt; Generic (Dual a)
forall x. Rep (Dual a) x -&gt; Dual a
forall x. Dual a -&gt; Rep (Dual a) x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
forall a x. Rep (Dual a) x -&gt; Dual a
forall a x. Dual a -&gt; Rep (Dual a) x
$cto :: forall a x. Rep (Dual a) x -&gt; Dual a
$cfrom :: forall a x. Dual a -&gt; Rep (Dual a) x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span>  </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-117"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall a. Dual a -&gt; Rep1 Dual a)
-&gt; (forall a. Rep1 Dual a -&gt; Dual a) -&gt; Generic1 Dual
forall a. Rep1 Dual a -&gt; Dual a
forall a. Dual a -&gt; Rep1 Dual a
forall k (f :: k -&gt; *).
(forall (a :: k). f a -&gt; Rep1 f a)
-&gt; (forall (a :: k). Rep1 f a -&gt; f a) -&gt; Generic1 f
$cto1 :: forall a. Rep1 Dual a -&gt; Dual a
$cfrom1 :: forall a. Dual a -&gt; Rep1 Dual a
</span><a href="GHC.Generics.html#Generic1"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic1</span></a></span><span> </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-118"></span><span>                 </span><span class="hs-special">)</span><span>
</span><span id="line-119"></span><span>
</span><span id="line-120"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-121"></span><span id="local-6989586621679514247"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513713"><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514247"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514247"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-122"></span><span>        </span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span><span> </span><span id="local-6989586621679513709"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513709"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679513708"><span class="annot"><span class="annottext">&lt;&gt; :: Dual a -&gt; Dual a -&gt; Dual a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">&lt;&gt;</span></a></span></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span><span> </span><span id="local-6989586621679513707"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513707"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Dual a
forall a. a -&gt; Dual a
</span><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-var">Dual</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513707"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513709"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-123"></span><span>        </span><span id="local-6989586621679513703"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; Dual a -&gt; Dual a
</span><a href="#local-6989586621679513703"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span id="local-6989586621679513702"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513702"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span><span> </span><span id="local-6989586621679513701"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513701"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Dual a
forall a. a -&gt; Dual a
</span><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-var">Dual</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">b -&gt; a -&gt; a
forall a b. (Semigroup a, Integral b) =&gt; b -&gt; a -&gt; a
</span><a href="GHC.Base.html#stimes"><span class="hs-identifier hs-var">stimes</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513702"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513701"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-124"></span><span>
</span><span id="line-125"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-126"></span><span id="local-6989586621679514245"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513694"><span id="local-6989586621679513696"><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514245"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514245"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-127"></span><span>        </span><span id="local-6989586621679513691"><span class="annot"><span class="annottext">mempty :: Dual a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Dual a
forall a. a -&gt; Dual a
</span><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-var">Dual</span></a></span><span> </span><span class="annot"><span class="annottext">a
forall a. Monoid a =&gt; a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span></span><span>
</span><span id="line-128"></span><span>
</span><span id="line-129"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-130"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513688"><span class="annot"><a href="GHC.Base.html#Functor"><span class="hs-identifier hs-type">Functor</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-131"></span><span>    </span><span id="local-6989586621679513685"><span class="annot"><span class="annottext">fmap :: forall a b. (a -&gt; b) -&gt; Dual a -&gt; Dual b
</span><a href="GHC.Base.html#fmap"><span class="hs-identifier hs-var hs-var hs-var hs-var">fmap</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; Dual a -&gt; Dual b
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span>
</span><span id="line-132"></span><span>
</span><span id="line-133"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-134"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513675"><span id="local-6989586621679513677"><span id="local-6989586621679513679"><span class="annot"><a href="GHC.Base.html#Applicative"><span class="hs-identifier hs-type">Applicative</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-135"></span><span>    </span><span id="local-6989586621679513673"><span class="annot"><span class="annottext">pure :: forall a. a -&gt; Dual a
</span><a href="GHC.Base.html#pure"><span class="hs-identifier hs-var hs-var hs-var hs-var">pure</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Dual a
forall a. a -&gt; Dual a
</span><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-var">Dual</span></a></span><span>
</span><span id="line-136"></span><span>    </span><span id="local-6989586621679513671"><span class="annot"><span class="annottext">&lt;*&gt; :: forall a b. Dual (a -&gt; b) -&gt; Dual a -&gt; Dual b
</span><a href="GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;*&gt;)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Dual (a -&gt; b) -&gt; Dual a -&gt; Dual b
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span>
</span><span id="line-137"></span><span>
</span><span id="line-138"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-139"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513664"><span id="local-6989586621679513666"><span class="annot"><a href="GHC.Base.html#Monad"><span class="hs-identifier hs-type">Monad</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Dual"><span class="hs-identifier hs-type">Dual</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-140"></span><span>    </span><span id="local-6989586621679513662"><span class="annot"><span class="annottext">Dual a
</span><a href="#local-6989586621679513662"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621679513661"><span class="annot"><span class="annottext">&gt;&gt;= :: forall a b. Dual a -&gt; (a -&gt; Dual b) -&gt; Dual b
</span><a href="GHC.Base.html#%3E%3E%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">&gt;&gt;=</span></a></span></span><span> </span><span id="local-6989586621679513660"><span class="annot"><span class="annottext">a -&gt; Dual b
</span><a href="#local-6989586621679513660"><span class="hs-identifier hs-var">k</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Dual b
</span><a href="#local-6989586621679513660"><span class="hs-identifier hs-var">k</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Dual a -&gt; a
forall a. Dual a -&gt; a
</span><a href="Data.Semigroup.Internal.html#getDual"><span class="hs-identifier hs-var hs-var">getDual</span></a></span><span> </span><span class="annot"><span class="annottext">Dual a
</span><a href="#local-6989586621679513662"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span class="hs-comment">-- | The monoid of endomorphisms under composition.</span><span>
</span><span id="line-143"></span><span class="hs-comment">--</span><span>
</span><span id="line-144"></span><span class="hs-comment">-- &gt;&gt;&gt; let computation = Endo (&quot;Hello, &quot; ++) &lt;&gt; Endo (++ &quot;!&quot;)</span><span>
</span><span id="line-145"></span><span class="hs-comment">-- &gt;&gt;&gt; appEndo computation &quot;Haskell&quot;</span><span>
</span><span id="line-146"></span><span class="hs-comment">-- &quot;Hello, Haskell!&quot;</span><span>
</span><span id="line-147"></span><span id="local-6989586621679513658"><span id="local-6989586621679513659"></span></span><span class="hs-keyword">newtype</span><span> </span><span id="Endo"><span class="annot"><a href="Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span></span><span> </span><span id="local-6989586621679514212"><span class="annot"><a href="#local-6989586621679514212"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Endo"><span class="annot"><a href="Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="appEndo"><span class="annot"><span class="annottext">forall a. Endo a -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#appEndo"><span class="hs-identifier hs-var hs-var">appEndo</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514212"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514212"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-148"></span><span>               </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><span class="annottext">(forall x. Endo a -&gt; Rep (Endo a) x)
-&gt; (forall x. Rep (Endo a) x -&gt; Endo a) -&gt; Generic (Endo a)
forall x. Rep (Endo a) x -&gt; Endo a
forall x. Endo a -&gt; Rep (Endo a) x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
forall a x. Rep (Endo a) x -&gt; Endo a
forall a x. Endo a -&gt; Rep (Endo a) x
$cto :: forall a x. Rep (Endo a) x -&gt; Endo a
$cfrom :: forall a x. Endo a -&gt; Rep (Endo a) x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span> </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-149"></span><span>                        </span><span class="hs-special">)</span><span>
</span><span id="line-150"></span><span>
</span><span id="line-151"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-152"></span><span id="local-6989586621679514210"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513650"><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-type">Endo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-153"></span><span>        </span><span id="local-6989586621679513647"><span class="annot"><span class="annottext">&lt;&gt; :: Endo a -&gt; Endo a -&gt; Endo a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((a -&gt; a) -&gt; (a -&gt; a) -&gt; a -&gt; a) -&gt; Endo a -&gt; Endo a -&gt; Endo a
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; a) -&gt; (a -&gt; a) -&gt; a -&gt; a
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="GHC.Base.html#."><span class="hs-operator hs-var">(.)</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514210"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-154"></span><span>        </span><span id="local-6989586621679513642"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; Endo a -&gt; Endo a
</span><a href="#local-6989586621679513642"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; Endo a -&gt; Endo a
forall b a. (Integral b, Monoid a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesMonoid"><span class="hs-identifier hs-var">stimesMonoid</span></a></span></span><span>
</span><span id="line-155"></span><span>
</span><span id="line-156"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-157"></span><span id="local-6989586621679514205"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513635"><span id="local-6989586621679513637"><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-type">Endo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514205"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-158"></span><span>        </span><span id="local-6989586621679513634"><span class="annot"><span class="annottext">mempty :: Endo a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; a) -&gt; Endo a
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a
forall a. a -&gt; a
</span><a href="GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span></span><span>
</span><span id="line-159"></span><span>
</span><span id="line-160"></span><span class="hs-comment">-- | Boolean monoid under conjunction ('&amp;&amp;').</span><span>
</span><span id="line-161"></span><span class="hs-comment">--</span><span>
</span><span id="line-162"></span><span class="hs-comment">-- &gt;&gt;&gt; getAll (All True &lt;&gt; mempty &lt;&gt; All False)</span><span>
</span><span id="line-163"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-164"></span><span class="hs-comment">--</span><span>
</span><span id="line-165"></span><span class="hs-comment">-- &gt;&gt;&gt; getAll (mconcat (map (\x -&gt; All (even x)) [2,4,6,7,8]))</span><span>
</span><span id="line-166"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-167"></span><span id="local-6989586621679513631"><span id="local-6989586621679513632"></span></span><span class="hs-keyword">newtype</span><span> </span><span id="All"><span class="annot"><a href="Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-var">All</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="All"><span class="annot"><a href="Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-var">All</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="getAll"><span class="annot"><span class="annottext">All -&gt; Bool
</span><a href="Data.Semigroup.Internal.html#getAll"><span class="hs-identifier hs-var hs-var">getAll</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-168"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span id="local-6989586621679513622"><span id="local-6989586621679513627"><span class="annot"><span class="annottext">All -&gt; All -&gt; Bool
(All -&gt; All -&gt; Bool) -&gt; (All -&gt; All -&gt; Bool) -&gt; Eq All
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: All -&gt; All -&gt; Bool
$c/= :: All -&gt; All -&gt; Bool
== :: All -&gt; All -&gt; Bool
$c== :: All -&gt; All -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-169"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513590"><span id="local-6989586621679513594"><span id="local-6989586621679513598"><span id="local-6989586621679513602"><span id="local-6989586621679513606"><span id="local-6989586621679513610"><span id="local-6989586621679513615"><span class="annot"><span class="annottext">Eq All
Eq All
-&gt; (All -&gt; All -&gt; Ordering)
-&gt; (All -&gt; All -&gt; Bool)
-&gt; (All -&gt; All -&gt; Bool)
-&gt; (All -&gt; All -&gt; Bool)
-&gt; (All -&gt; All -&gt; Bool)
-&gt; (All -&gt; All -&gt; All)
-&gt; (All -&gt; All -&gt; All)
-&gt; Ord All
All -&gt; All -&gt; Bool
All -&gt; All -&gt; Ordering
All -&gt; All -&gt; All
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: All -&gt; All -&gt; All
$cmin :: All -&gt; All -&gt; All
max :: All -&gt; All -&gt; All
$cmax :: All -&gt; All -&gt; All
&gt;= :: All -&gt; All -&gt; Bool
$c&gt;= :: All -&gt; All -&gt; Bool
&gt; :: All -&gt; All -&gt; Bool
$c&gt; :: All -&gt; All -&gt; Bool
&lt;= :: All -&gt; All -&gt; Bool
$c&lt;= :: All -&gt; All -&gt; Bool
&lt; :: All -&gt; All -&gt; Bool
$c&lt; :: All -&gt; All -&gt; Bool
compare :: All -&gt; All -&gt; Ordering
$ccompare :: All -&gt; All -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-170"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513571"><span id="local-6989586621679513580"><span id="local-6989586621679513583"><span id="local-6989586621679513585"><span class="annot"><span class="annottext">ReadPrec [All]
ReadPrec All
Int -&gt; ReadS All
ReadS [All]
(Int -&gt; ReadS All)
-&gt; ReadS [All] -&gt; ReadPrec All -&gt; ReadPrec [All] -&gt; Read All
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [All]
$creadListPrec :: ReadPrec [All]
readPrec :: ReadPrec All
$creadPrec :: ReadPrec All
readList :: ReadS [All]
$creadList :: ReadS [All]
readsPrec :: Int -&gt; ReadS All
$creadsPrec :: Int -&gt; ReadS All
</span><a href="GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span>    </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-171"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513561"><span id="local-6989586621679513563"><span id="local-6989586621679513568"><span class="annot"><span class="annottext">Int -&gt; All -&gt; ShowS
[All] -&gt; ShowS
All -&gt; [Char]
(Int -&gt; All -&gt; ShowS)
-&gt; (All -&gt; [Char]) -&gt; ([All] -&gt; ShowS) -&gt; Show All
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [All] -&gt; ShowS
$cshowList :: [All] -&gt; ShowS
show :: All -&gt; [Char]
$cshow :: All -&gt; [Char]
showsPrec :: Int -&gt; All -&gt; ShowS
$cshowsPrec :: Int -&gt; All -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>    </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-172"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513554"><span id="local-6989586621679513559"><span class="annot"><span class="annottext">All
All -&gt; All -&gt; Bounded All
forall a. a -&gt; a -&gt; Bounded a
maxBound :: All
$cmaxBound :: All
minBound :: All
$cminBound :: All
</span><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Bounded</span></a></span></span></span><span> </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-173"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. All -&gt; Rep All x)
-&gt; (forall x. Rep All x -&gt; All) -&gt; Generic All
forall x. Rep All x -&gt; All
forall x. All -&gt; Rep All x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
$cto :: forall x. Rep All x -&gt; All
$cfrom :: forall x. All -&gt; Rep All x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span> </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-174"></span><span>                 </span><span class="hs-special">)</span><span>
</span><span id="line-175"></span><span>
</span><span id="line-176"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-177"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513545"><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-type">All</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-178"></span><span>        </span><span id="local-6989586621679513542"><span class="annot"><span class="annottext">&lt;&gt; :: All -&gt; All -&gt; All
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Bool -&gt; Bool) -&gt; All -&gt; All -&gt; All
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator hs-var">(&amp;&amp;)</span></a></span><span>
</span><span id="line-179"></span><span>        </span><span id="local-6989586621679513537"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; All -&gt; All
</span><a href="#local-6989586621679513537"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; All -&gt; All
forall b a. (Integral b, Monoid a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesIdempotentMonoid"><span class="hs-identifier hs-var">stimesIdempotentMonoid</span></a></span><span>
</span><span id="line-180"></span><span>
</span><span id="line-181"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-182"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513530"><span id="local-6989586621679513532"><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-type">All</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-183"></span><span>        </span><span id="local-6989586621679513529"><span class="annot"><span class="annottext">mempty :: All
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; All
</span><a href="Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-var">All</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-184"></span><span>
</span><span id="line-185"></span><span class="hs-comment">-- | Boolean monoid under disjunction ('||').</span><span>
</span><span id="line-186"></span><span class="hs-comment">--</span><span>
</span><span id="line-187"></span><span class="hs-comment">-- &gt;&gt;&gt; getAny (Any True &lt;&gt; mempty &lt;&gt; Any False)</span><span>
</span><span id="line-188"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-189"></span><span class="hs-comment">--</span><span>
</span><span id="line-190"></span><span class="hs-comment">-- &gt;&gt;&gt; getAny (mconcat (map (\x -&gt; Any (even x)) [2,4,6,7,8]))</span><span>
</span><span id="line-191"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-192"></span><span id="local-6989586621679513527"><span id="local-6989586621679513528"></span></span><span class="hs-keyword">newtype</span><span> </span><span id="Any"><span class="annot"><a href="Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Any"><span class="annot"><a href="Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="getAny"><span class="annot"><span class="annottext">Any -&gt; Bool
</span><a href="Data.Semigroup.Internal.html#getAny"><span class="hs-identifier hs-var hs-var">getAny</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-193"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span id="local-6989586621679513519"><span id="local-6989586621679513523"><span class="annot"><span class="annottext">Any -&gt; Any -&gt; Bool
(Any -&gt; Any -&gt; Bool) -&gt; (Any -&gt; Any -&gt; Bool) -&gt; Eq Any
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: Any -&gt; Any -&gt; Bool
$c/= :: Any -&gt; Any -&gt; Bool
== :: Any -&gt; Any -&gt; Bool
$c== :: Any -&gt; Any -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-194"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513488"><span id="local-6989586621679513492"><span id="local-6989586621679513496"><span id="local-6989586621679513500"><span id="local-6989586621679513504"><span id="local-6989586621679513508"><span id="local-6989586621679513512"><span class="annot"><span class="annottext">Eq Any
Eq Any
-&gt; (Any -&gt; Any -&gt; Ordering)
-&gt; (Any -&gt; Any -&gt; Bool)
-&gt; (Any -&gt; Any -&gt; Bool)
-&gt; (Any -&gt; Any -&gt; Bool)
-&gt; (Any -&gt; Any -&gt; Bool)
-&gt; (Any -&gt; Any -&gt; Any)
-&gt; (Any -&gt; Any -&gt; Any)
-&gt; Ord Any
Any -&gt; Any -&gt; Bool
Any -&gt; Any -&gt; Ordering
Any -&gt; Any -&gt; Any
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: Any -&gt; Any -&gt; Any
$cmin :: Any -&gt; Any -&gt; Any
max :: Any -&gt; Any -&gt; Any
$cmax :: Any -&gt; Any -&gt; Any
&gt;= :: Any -&gt; Any -&gt; Bool
$c&gt;= :: Any -&gt; Any -&gt; Bool
&gt; :: Any -&gt; Any -&gt; Bool
$c&gt; :: Any -&gt; Any -&gt; Bool
&lt;= :: Any -&gt; Any -&gt; Bool
$c&lt;= :: Any -&gt; Any -&gt; Bool
&lt; :: Any -&gt; Any -&gt; Bool
$c&lt; :: Any -&gt; Any -&gt; Bool
compare :: Any -&gt; Any -&gt; Ordering
$ccompare :: Any -&gt; Any -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-195"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513470"><span id="local-6989586621679513478"><span id="local-6989586621679513481"><span id="local-6989586621679513483"><span class="annot"><span class="annottext">ReadPrec [Any]
ReadPrec Any
Int -&gt; ReadS Any
ReadS [Any]
(Int -&gt; ReadS Any)
-&gt; ReadS [Any] -&gt; ReadPrec Any -&gt; ReadPrec [Any] -&gt; Read Any
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [Any]
$creadListPrec :: ReadPrec [Any]
readPrec :: ReadPrec Any
$creadPrec :: ReadPrec Any
readList :: ReadS [Any]
$creadList :: ReadS [Any]
readsPrec :: Int -&gt; ReadS Any
$creadsPrec :: Int -&gt; ReadS Any
</span><a href="GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span>    </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-196"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513461"><span id="local-6989586621679513463"><span id="local-6989586621679513467"><span class="annot"><span class="annottext">Int -&gt; Any -&gt; ShowS
[Any] -&gt; ShowS
Any -&gt; [Char]
(Int -&gt; Any -&gt; ShowS)
-&gt; (Any -&gt; [Char]) -&gt; ([Any] -&gt; ShowS) -&gt; Show Any
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [Any] -&gt; ShowS
$cshowList :: [Any] -&gt; ShowS
show :: Any -&gt; [Char]
$cshow :: Any -&gt; [Char]
showsPrec :: Int -&gt; Any -&gt; ShowS
$cshowsPrec :: Int -&gt; Any -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>    </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-197"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513455"><span id="local-6989586621679513459"><span class="annot"><span class="annottext">Any
Any -&gt; Any -&gt; Bounded Any
forall a. a -&gt; a -&gt; Bounded a
maxBound :: Any
$cmaxBound :: Any
minBound :: Any
$cminBound :: Any
</span><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Bounded</span></a></span></span></span><span> </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-198"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. Any -&gt; Rep Any x)
-&gt; (forall x. Rep Any x -&gt; Any) -&gt; Generic Any
forall x. Rep Any x -&gt; Any
forall x. Any -&gt; Rep Any x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
$cto :: forall x. Rep Any x -&gt; Any
$cfrom :: forall x. Any -&gt; Rep Any x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span> </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-199"></span><span>                 </span><span class="hs-special">)</span><span>
</span><span id="line-200"></span><span>
</span><span id="line-201"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-202"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513446"><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-203"></span><span>        </span><span id="local-6989586621679513443"><span class="annot"><span class="annottext">&lt;&gt; :: Any -&gt; Any -&gt; Any
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Bool -&gt; Bool) -&gt; Any -&gt; Any -&gt; Any
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator hs-var">(||)</span></a></span><span>
</span><span id="line-204"></span><span>        </span><span id="local-6989586621679513438"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; Any -&gt; Any
</span><a href="#local-6989586621679513438"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; Any -&gt; Any
forall b a. (Integral b, Monoid a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesIdempotentMonoid"><span class="hs-identifier hs-var">stimesIdempotentMonoid</span></a></span><span>
</span><span id="line-205"></span><span>
</span><span id="line-206"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-207"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513431"><span id="local-6989586621679513433"><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-208"></span><span>        </span><span id="local-6989586621679513430"><span class="annot"><span class="annottext">mempty :: Any
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-209"></span><span>
</span><span id="line-210"></span><span class="hs-comment">-- | Monoid under addition.</span><span>
</span><span id="line-211"></span><span class="hs-comment">--</span><span>
</span><span id="line-212"></span><span class="hs-comment">-- &gt;&gt;&gt; getSum (Sum 1 &lt;&gt; Sum 2 &lt;&gt; mempty)</span><span>
</span><span id="line-213"></span><span class="hs-comment">-- 3</span><span>
</span><span id="line-214"></span><span id="local-6989586621679513426"><span id="local-6989586621679513427"><span id="local-6989586621679513428"><span id="local-6989586621679513429"></span></span></span></span><span class="hs-keyword">newtype</span><span> </span><span id="Sum"><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-var">Sum</span></a></span></span><span> </span><span id="local-6989586621679514200"><span class="annot"><a href="#local-6989586621679514200"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Sum"><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-var">Sum</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="getSum"><span class="annot"><span class="annottext">forall a. Sum a -&gt; a
</span><a href="Data.Semigroup.Internal.html#getSum"><span class="hs-identifier hs-var hs-var">getSum</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514200"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-215"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span id="local-6989586621679513417"><span id="local-6989586621679513421"><span class="annot"><span class="annottext">Sum a -&gt; Sum a -&gt; Bool
(Sum a -&gt; Sum a -&gt; Bool) -&gt; (Sum a -&gt; Sum a -&gt; Bool) -&gt; Eq (Sum a)
forall a. Eq a =&gt; Sum a -&gt; Sum a -&gt; Bool
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: Sum a -&gt; Sum a -&gt; Bool
$c/= :: forall a. Eq a =&gt; Sum a -&gt; Sum a -&gt; Bool
== :: Sum a -&gt; Sum a -&gt; Bool
$c== :: forall a. Eq a =&gt; Sum a -&gt; Sum a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>       </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-216"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513384"><span id="local-6989586621679513388"><span id="local-6989586621679513392"><span id="local-6989586621679513396"><span id="local-6989586621679513400"><span id="local-6989586621679513404"><span id="local-6989586621679513408"><span class="annot"><span class="annottext">Eq (Sum a)
Eq (Sum a)
-&gt; (Sum a -&gt; Sum a -&gt; Ordering)
-&gt; (Sum a -&gt; Sum a -&gt; Bool)
-&gt; (Sum a -&gt; Sum a -&gt; Bool)
-&gt; (Sum a -&gt; Sum a -&gt; Bool)
-&gt; (Sum a -&gt; Sum a -&gt; Bool)
-&gt; (Sum a -&gt; Sum a -&gt; Sum a)
-&gt; (Sum a -&gt; Sum a -&gt; Sum a)
-&gt; Ord (Sum a)
Sum a -&gt; Sum a -&gt; Bool
Sum a -&gt; Sum a -&gt; Ordering
Sum a -&gt; Sum a -&gt; Sum a
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
forall {a}. Ord a =&gt; Eq (Sum a)
forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Bool
forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Ordering
forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Sum a
min :: Sum a -&gt; Sum a -&gt; Sum a
$cmin :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Sum a
max :: Sum a -&gt; Sum a -&gt; Sum a
$cmax :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Sum a
&gt;= :: Sum a -&gt; Sum a -&gt; Bool
$c&gt;= :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Bool
&gt; :: Sum a -&gt; Sum a -&gt; Bool
$c&gt; :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Bool
&lt;= :: Sum a -&gt; Sum a -&gt; Bool
$c&lt;= :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Bool
&lt; :: Sum a -&gt; Sum a -&gt; Bool
$c&lt; :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Bool
compare :: Sum a -&gt; Sum a -&gt; Ordering
$ccompare :: forall a. Ord a =&gt; Sum a -&gt; Sum a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-217"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513366"><span id="local-6989586621679513374"><span id="local-6989586621679513377"><span id="local-6989586621679513379"><span class="annot"><span class="annottext">ReadPrec [Sum a]
ReadPrec (Sum a)
Int -&gt; ReadS (Sum a)
ReadS [Sum a]
(Int -&gt; ReadS (Sum a))
-&gt; ReadS [Sum a]
-&gt; ReadPrec (Sum a)
-&gt; ReadPrec [Sum a]
-&gt; Read (Sum a)
forall a. Read a =&gt; ReadPrec [Sum a]
forall a. Read a =&gt; ReadPrec (Sum a)
forall a. Read a =&gt; Int -&gt; ReadS (Sum a)
forall a. Read a =&gt; ReadS [Sum a]
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [Sum a]
$creadListPrec :: forall a. Read a =&gt; ReadPrec [Sum a]
readPrec :: ReadPrec (Sum a)
$creadPrec :: forall a. Read a =&gt; ReadPrec (Sum a)
readList :: ReadS [Sum a]
$creadList :: forall a. Read a =&gt; ReadS [Sum a]
readsPrec :: Int -&gt; ReadS (Sum a)
$creadsPrec :: forall a. Read a =&gt; Int -&gt; ReadS (Sum a)
</span><a href="GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-218"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513357"><span id="local-6989586621679513359"><span id="local-6989586621679513363"><span class="annot"><span class="annottext">Int -&gt; Sum a -&gt; ShowS
[Sum a] -&gt; ShowS
Sum a -&gt; [Char]
(Int -&gt; Sum a -&gt; ShowS)
-&gt; (Sum a -&gt; [Char]) -&gt; ([Sum a] -&gt; ShowS) -&gt; Show (Sum a)
forall a. Show a =&gt; Int -&gt; Sum a -&gt; ShowS
forall a. Show a =&gt; [Sum a] -&gt; ShowS
forall a. Show a =&gt; Sum a -&gt; [Char]
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [Sum a] -&gt; ShowS
$cshowList :: forall a. Show a =&gt; [Sum a] -&gt; ShowS
show :: Sum a -&gt; [Char]
$cshow :: forall a. Show a =&gt; Sum a -&gt; [Char]
showsPrec :: Int -&gt; Sum a -&gt; ShowS
$cshowsPrec :: forall a. Show a =&gt; Int -&gt; Sum a -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-219"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513350"><span id="local-6989586621679513354"><span class="annot"><span class="annottext">Sum a
Sum a -&gt; Sum a -&gt; Bounded (Sum a)
forall a. a -&gt; a -&gt; Bounded a
forall a. Bounded a =&gt; Sum a
maxBound :: Sum a
$cmaxBound :: forall a. Bounded a =&gt; Sum a
minBound :: Sum a
$cminBound :: forall a. Bounded a =&gt; Sum a
</span><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Bounded</span></a></span></span></span><span>  </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-220"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. Sum a -&gt; Rep (Sum a) x)
-&gt; (forall x. Rep (Sum a) x -&gt; Sum a) -&gt; Generic (Sum a)
forall x. Rep (Sum a) x -&gt; Sum a
forall x. Sum a -&gt; Rep (Sum a) x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
forall a x. Rep (Sum a) x -&gt; Sum a
forall a x. Sum a -&gt; Rep (Sum a) x
$cto :: forall a x. Rep (Sum a) x -&gt; Sum a
$cfrom :: forall a x. Sum a -&gt; Rep (Sum a) x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span>  </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-221"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall a. Sum a -&gt; Rep1 Sum a)
-&gt; (forall a. Rep1 Sum a -&gt; Sum a) -&gt; Generic1 Sum
forall a. Rep1 Sum a -&gt; Sum a
forall a. Sum a -&gt; Rep1 Sum a
forall k (f :: k -&gt; *).
(forall (a :: k). f a -&gt; Rep1 f a)
-&gt; (forall (a :: k). Rep1 f a -&gt; f a) -&gt; Generic1 f
$cto1 :: forall a. Rep1 Sum a -&gt; Sum a
$cfrom1 :: forall a. Sum a -&gt; Rep1 Sum a
</span><a href="GHC.Generics.html#Generic1"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic1</span></a></span><span> </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-222"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513314"><span id="local-6989586621679513318"><span id="local-6989586621679513322"><span id="local-6989586621679513326"><span id="local-6989586621679513330"><span id="local-6989586621679513334"><span id="local-6989586621679513338"><span class="annot"><span class="annottext">Integer -&gt; Sum a
Sum a -&gt; Sum a
Sum a -&gt; Sum a -&gt; Sum a
(Sum a -&gt; Sum a -&gt; Sum a)
-&gt; (Sum a -&gt; Sum a -&gt; Sum a)
-&gt; (Sum a -&gt; Sum a -&gt; Sum a)
-&gt; (Sum a -&gt; Sum a)
-&gt; (Sum a -&gt; Sum a)
-&gt; (Sum a -&gt; Sum a)
-&gt; (Integer -&gt; Sum a)
-&gt; Num (Sum a)
forall a. Num a =&gt; Integer -&gt; Sum a
forall a. Num a =&gt; Sum a -&gt; Sum a
forall a. Num a =&gt; Sum a -&gt; Sum a -&gt; Sum a
forall a.
(a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (Integer -&gt; a)
-&gt; Num a
fromInteger :: Integer -&gt; Sum a
$cfromInteger :: forall a. Num a =&gt; Integer -&gt; Sum a
signum :: Sum a -&gt; Sum a
$csignum :: forall a. Num a =&gt; Sum a -&gt; Sum a
abs :: Sum a -&gt; Sum a
$cabs :: forall a. Num a =&gt; Sum a -&gt; Sum a
negate :: Sum a -&gt; Sum a
$cnegate :: forall a. Num a =&gt; Sum a -&gt; Sum a
* :: Sum a -&gt; Sum a -&gt; Sum a
$c* :: forall a. Num a =&gt; Sum a -&gt; Sum a -&gt; Sum a
- :: Sum a -&gt; Sum a -&gt; Sum a
$c- :: forall a. Num a =&gt; Sum a -&gt; Sum a -&gt; Sum a
+ :: Sum a -&gt; Sum a -&gt; Sum a
$c+ :: forall a. Num a =&gt; Sum a -&gt; Sum a -&gt; Sum a
</span><a href="GHC.Num.html#Num"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Num</span></a></span></span></span></span></span></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-223"></span><span>                 </span><span class="hs-special">)</span><span>
</span><span id="line-224"></span><span>
</span><span id="line-225"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-226"></span><span id="local-6989586621679514194"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513307"><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514194"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-type">Sum</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514194"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-227"></span><span>        </span><span id="local-6989586621679513303"><span class="annot"><span class="annottext">&lt;&gt; :: Sum a -&gt; Sum a -&gt; Sum a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; a -&gt; a) -&gt; Sum a -&gt; Sum a -&gt; Sum a
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">(+)</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514194"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514194"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514194"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-228"></span><span>        </span><span id="local-6989586621679513297"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; Sum a -&gt; Sum a
</span><a href="#local-6989586621679513297"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span id="local-6989586621679513296"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513296"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-type">Sum</span></a></span><span> </span><span id="local-6989586621679513295"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513295"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Sum a
forall a. a -&gt; Sum a
</span><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-var">Sum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">b -&gt; a
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513296"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2A"><span class="hs-operator hs-var">*</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513295"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-229"></span><span>
</span><span id="line-230"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-231"></span><span id="local-6989586621679514190"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513287"><span id="local-6989586621679513289"><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514190"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-type">Sum</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514190"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-232"></span><span>        </span><span id="local-6989586621679513285"><span class="annot"><span class="annottext">mempty :: Sum a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Sum a
forall a. a -&gt; Sum a
</span><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-var">Sum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">0</span></span></span><span>
</span><span id="line-233"></span><span>
</span><span id="line-234"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-235"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513282"><span class="annot"><a href="GHC.Base.html#Functor"><span class="hs-identifier hs-type">Functor</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-type">Sum</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-236"></span><span>    </span><span id="local-6989586621679513280"><span class="annot"><span class="annottext">fmap :: forall a b. (a -&gt; b) -&gt; Sum a -&gt; Sum b
</span><a href="GHC.Base.html#fmap"><span class="hs-identifier hs-var hs-var hs-var hs-var">fmap</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; Sum a -&gt; Sum b
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span>
</span><span id="line-237"></span><span>
</span><span id="line-238"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-239"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513270"><span id="local-6989586621679513272"><span id="local-6989586621679513274"><span class="annot"><a href="GHC.Base.html#Applicative"><span class="hs-identifier hs-type">Applicative</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-type">Sum</span></a></span></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-240"></span><span>    </span><span id="local-6989586621679513269"><span class="annot"><span class="annottext">pure :: forall a. a -&gt; Sum a
</span><a href="GHC.Base.html#pure"><span class="hs-identifier hs-var hs-var hs-var hs-var">pure</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Sum a
forall a. a -&gt; Sum a
</span><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-var">Sum</span></a></span><span>
</span><span id="line-241"></span><span>    </span><span id="local-6989586621679513267"><span class="annot"><span class="annottext">&lt;*&gt; :: forall a b. Sum (a -&gt; b) -&gt; Sum a -&gt; Sum b
</span><a href="GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;*&gt;)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Sum (a -&gt; b) -&gt; Sum a -&gt; Sum b
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span>
</span><span id="line-242"></span><span>
</span><span id="line-243"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-244"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513260"><span id="local-6989586621679513262"><span class="annot"><a href="GHC.Base.html#Monad"><span class="hs-identifier hs-type">Monad</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Sum"><span class="hs-identifier hs-type">Sum</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-245"></span><span>    </span><span id="local-6989586621679513259"><span class="annot"><span class="annottext">Sum a
</span><a href="#local-6989586621679513259"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621679513258"><span class="annot"><span class="annottext">&gt;&gt;= :: forall a b. Sum a -&gt; (a -&gt; Sum b) -&gt; Sum b
</span><a href="GHC.Base.html#%3E%3E%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">&gt;&gt;=</span></a></span></span><span> </span><span id="local-6989586621679513257"><span class="annot"><span class="annottext">a -&gt; Sum b
</span><a href="#local-6989586621679513257"><span class="hs-identifier hs-var">k</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Sum b
</span><a href="#local-6989586621679513257"><span class="hs-identifier hs-var">k</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Sum a -&gt; a
forall a. Sum a -&gt; a
</span><a href="Data.Semigroup.Internal.html#getSum"><span class="hs-identifier hs-var hs-var">getSum</span></a></span><span> </span><span class="annot"><span class="annottext">Sum a
</span><a href="#local-6989586621679513259"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-246"></span><span>
</span><span id="line-247"></span><span class="hs-comment">-- | Monoid under multiplication.</span><span>
</span><span id="line-248"></span><span class="hs-comment">--</span><span>
</span><span id="line-249"></span><span class="hs-comment">-- &gt;&gt;&gt; getProduct (Product 3 &lt;&gt; Product 4 &lt;&gt; mempty)</span><span>
</span><span id="line-250"></span><span class="hs-comment">-- 12</span><span>
</span><span id="line-251"></span><span id="local-6989586621679513253"><span id="local-6989586621679513254"><span id="local-6989586621679513255"><span id="local-6989586621679513256"></span></span></span></span><span class="hs-keyword">newtype</span><span> </span><span id="Product"><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-var">Product</span></a></span></span><span> </span><span id="local-6989586621679514181"><span class="annot"><a href="#local-6989586621679514181"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Product"><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-var">Product</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="getProduct"><span class="annot"><span class="annottext">forall a. Product a -&gt; a
</span><a href="Data.Semigroup.Internal.html#getProduct"><span class="hs-identifier hs-var hs-var">getProduct</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514181"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-252"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span id="local-6989586621679513244"><span id="local-6989586621679513248"><span class="annot"><span class="annottext">Product a -&gt; Product a -&gt; Bool
(Product a -&gt; Product a -&gt; Bool)
-&gt; (Product a -&gt; Product a -&gt; Bool) -&gt; Eq (Product a)
forall a. Eq a =&gt; Product a -&gt; Product a -&gt; Bool
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: Product a -&gt; Product a -&gt; Bool
$c/= :: forall a. Eq a =&gt; Product a -&gt; Product a -&gt; Bool
== :: Product a -&gt; Product a -&gt; Bool
$c== :: forall a. Eq a =&gt; Product a -&gt; Product a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>       </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-253"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513211"><span id="local-6989586621679513215"><span id="local-6989586621679513219"><span id="local-6989586621679513223"><span id="local-6989586621679513227"><span id="local-6989586621679513231"><span id="local-6989586621679513235"><span class="annot"><span class="annottext">Eq (Product a)
Eq (Product a)
-&gt; (Product a -&gt; Product a -&gt; Ordering)
-&gt; (Product a -&gt; Product a -&gt; Bool)
-&gt; (Product a -&gt; Product a -&gt; Bool)
-&gt; (Product a -&gt; Product a -&gt; Bool)
-&gt; (Product a -&gt; Product a -&gt; Bool)
-&gt; (Product a -&gt; Product a -&gt; Product a)
-&gt; (Product a -&gt; Product a -&gt; Product a)
-&gt; Ord (Product a)
Product a -&gt; Product a -&gt; Bool
Product a -&gt; Product a -&gt; Ordering
Product a -&gt; Product a -&gt; Product a
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
forall {a}. Ord a =&gt; Eq (Product a)
forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Bool
forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Ordering
forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Product a
min :: Product a -&gt; Product a -&gt; Product a
$cmin :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Product a
max :: Product a -&gt; Product a -&gt; Product a
$cmax :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Product a
&gt;= :: Product a -&gt; Product a -&gt; Bool
$c&gt;= :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Bool
&gt; :: Product a -&gt; Product a -&gt; Bool
$c&gt; :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Bool
&lt;= :: Product a -&gt; Product a -&gt; Bool
$c&lt;= :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Bool
&lt; :: Product a -&gt; Product a -&gt; Bool
$c&lt; :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Bool
compare :: Product a -&gt; Product a -&gt; Ordering
$ccompare :: forall a. Ord a =&gt; Product a -&gt; Product a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-254"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513193"><span id="local-6989586621679513201"><span id="local-6989586621679513204"><span id="local-6989586621679513206"><span class="annot"><span class="annottext">ReadPrec [Product a]
ReadPrec (Product a)
Int -&gt; ReadS (Product a)
ReadS [Product a]
(Int -&gt; ReadS (Product a))
-&gt; ReadS [Product a]
-&gt; ReadPrec (Product a)
-&gt; ReadPrec [Product a]
-&gt; Read (Product a)
forall a. Read a =&gt; ReadPrec [Product a]
forall a. Read a =&gt; ReadPrec (Product a)
forall a. Read a =&gt; Int -&gt; ReadS (Product a)
forall a. Read a =&gt; ReadS [Product a]
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [Product a]
$creadListPrec :: forall a. Read a =&gt; ReadPrec [Product a]
readPrec :: ReadPrec (Product a)
$creadPrec :: forall a. Read a =&gt; ReadPrec (Product a)
readList :: ReadS [Product a]
$creadList :: forall a. Read a =&gt; ReadS [Product a]
readsPrec :: Int -&gt; ReadS (Product a)
$creadsPrec :: forall a. Read a =&gt; Int -&gt; ReadS (Product a)
</span><a href="GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-255"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513184"><span id="local-6989586621679513186"><span id="local-6989586621679513190"><span class="annot"><span class="annottext">Int -&gt; Product a -&gt; ShowS
[Product a] -&gt; ShowS
Product a -&gt; [Char]
(Int -&gt; Product a -&gt; ShowS)
-&gt; (Product a -&gt; [Char])
-&gt; ([Product a] -&gt; ShowS)
-&gt; Show (Product a)
forall a. Show a =&gt; Int -&gt; Product a -&gt; ShowS
forall a. Show a =&gt; [Product a] -&gt; ShowS
forall a. Show a =&gt; Product a -&gt; [Char]
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [Product a] -&gt; ShowS
$cshowList :: forall a. Show a =&gt; [Product a] -&gt; ShowS
show :: Product a -&gt; [Char]
$cshow :: forall a. Show a =&gt; Product a -&gt; [Char]
showsPrec :: Int -&gt; Product a -&gt; ShowS
$cshowsPrec :: forall a. Show a =&gt; Int -&gt; Product a -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-256"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513177"><span id="local-6989586621679513181"><span class="annot"><span class="annottext">Product a
Product a -&gt; Product a -&gt; Bounded (Product a)
forall a. a -&gt; a -&gt; Bounded a
forall a. Bounded a =&gt; Product a
maxBound :: Product a
$cmaxBound :: forall a. Bounded a =&gt; Product a
minBound :: Product a
$cminBound :: forall a. Bounded a =&gt; Product a
</span><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Bounded</span></a></span></span></span><span>  </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-257"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. Product a -&gt; Rep (Product a) x)
-&gt; (forall x. Rep (Product a) x -&gt; Product a)
-&gt; Generic (Product a)
forall x. Rep (Product a) x -&gt; Product a
forall x. Product a -&gt; Rep (Product a) x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
forall a x. Rep (Product a) x -&gt; Product a
forall a x. Product a -&gt; Rep (Product a) x
$cto :: forall a x. Rep (Product a) x -&gt; Product a
$cfrom :: forall a x. Product a -&gt; Rep (Product a) x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span>  </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-258"></span><span>                 </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall a. Product a -&gt; Rep1 Product a)
-&gt; (forall a. Rep1 Product a -&gt; Product a) -&gt; Generic1 Product
forall a. Rep1 Product a -&gt; Product a
forall a. Product a -&gt; Rep1 Product a
forall k (f :: k -&gt; *).
(forall (a :: k). f a -&gt; Rep1 f a)
-&gt; (forall (a :: k). Rep1 f a -&gt; f a) -&gt; Generic1 f
$cto1 :: forall a. Rep1 Product a -&gt; Product a
$cfrom1 :: forall a. Product a -&gt; Rep1 Product a
</span><a href="GHC.Generics.html#Generic1"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic1</span></a></span><span> </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-259"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513141"><span id="local-6989586621679513145"><span id="local-6989586621679513149"><span id="local-6989586621679513153"><span id="local-6989586621679513157"><span id="local-6989586621679513161"><span id="local-6989586621679513165"><span class="annot"><span class="annottext">Integer -&gt; Product a
Product a -&gt; Product a
Product a -&gt; Product a -&gt; Product a
(Product a -&gt; Product a -&gt; Product a)
-&gt; (Product a -&gt; Product a -&gt; Product a)
-&gt; (Product a -&gt; Product a -&gt; Product a)
-&gt; (Product a -&gt; Product a)
-&gt; (Product a -&gt; Product a)
-&gt; (Product a -&gt; Product a)
-&gt; (Integer -&gt; Product a)
-&gt; Num (Product a)
forall a. Num a =&gt; Integer -&gt; Product a
forall a. Num a =&gt; Product a -&gt; Product a
forall a. Num a =&gt; Product a -&gt; Product a -&gt; Product a
forall a.
(a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (Integer -&gt; a)
-&gt; Num a
fromInteger :: Integer -&gt; Product a
$cfromInteger :: forall a. Num a =&gt; Integer -&gt; Product a
signum :: Product a -&gt; Product a
$csignum :: forall a. Num a =&gt; Product a -&gt; Product a
abs :: Product a -&gt; Product a
$cabs :: forall a. Num a =&gt; Product a -&gt; Product a
negate :: Product a -&gt; Product a
$cnegate :: forall a. Num a =&gt; Product a -&gt; Product a
* :: Product a -&gt; Product a -&gt; Product a
$c* :: forall a. Num a =&gt; Product a -&gt; Product a -&gt; Product a
- :: Product a -&gt; Product a -&gt; Product a
$c- :: forall a. Num a =&gt; Product a -&gt; Product a -&gt; Product a
+ :: Product a -&gt; Product a -&gt; Product a
$c+ :: forall a. Num a =&gt; Product a -&gt; Product a -&gt; Product a
</span><a href="GHC.Num.html#Num"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Num</span></a></span></span></span></span></span></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-260"></span><span>                 </span><span class="hs-special">)</span><span>
</span><span id="line-261"></span><span>
</span><span id="line-262"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-263"></span><span id="local-6989586621679514175"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513135"><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514175"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-type">Product</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514175"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-264"></span><span>        </span><span id="local-6989586621679513131"><span class="annot"><span class="annottext">&lt;&gt; :: Product a -&gt; Product a -&gt; Product a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; a -&gt; a) -&gt; Product a -&gt; Product a -&gt; Product a
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2A"><span class="hs-operator hs-var">(*)</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514175"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514175"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514175"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-265"></span><span>        </span><span id="local-6989586621679513127"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; Product a -&gt; Product a
</span><a href="#local-6989586621679513127"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span id="local-6989586621679513126"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513126"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-type">Product</span></a></span><span> </span><span id="local-6989586621679513125"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513125"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Product a
forall a. a -&gt; Product a
</span><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-var">Product</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679513125"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b -&gt; a
forall a b. (Num a, Integral b) =&gt; a -&gt; b -&gt; a
</span><a href="GHC.Real.html#%5E"><span class="hs-operator hs-var">^</span></a></span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679513126"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-266"></span><span>
</span><span id="line-267"></span><span>
</span><span id="line-268"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-269"></span><span id="local-6989586621679514171"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513117"><span id="local-6989586621679513119"><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514171"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-type">Product</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514171"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-270"></span><span>        </span><span id="local-6989586621679513115"><span class="annot"><span class="annottext">mempty :: Product a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Product a
forall a. a -&gt; Product a
</span><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-var">Product</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span></span><span>
</span><span id="line-271"></span><span>
</span><span id="line-272"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-273"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513112"><span class="annot"><a href="GHC.Base.html#Functor"><span class="hs-identifier hs-type">Functor</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-type">Product</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-274"></span><span>    </span><span id="local-6989586621679513110"><span class="annot"><span class="annottext">fmap :: forall a b. (a -&gt; b) -&gt; Product a -&gt; Product b
</span><a href="GHC.Base.html#fmap"><span class="hs-identifier hs-var hs-var hs-var hs-var">fmap</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; Product a -&gt; Product b
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span>
</span><span id="line-275"></span><span>
</span><span id="line-276"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-277"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513100"><span id="local-6989586621679513102"><span id="local-6989586621679513104"><span class="annot"><a href="GHC.Base.html#Applicative"><span class="hs-identifier hs-type">Applicative</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-type">Product</span></a></span></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-278"></span><span>    </span><span id="local-6989586621679513099"><span class="annot"><span class="annottext">pure :: forall a. a -&gt; Product a
</span><a href="GHC.Base.html#pure"><span class="hs-identifier hs-var hs-var hs-var hs-var">pure</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Product a
forall a. a -&gt; Product a
</span><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-var">Product</span></a></span><span>
</span><span id="line-279"></span><span>    </span><span id="local-6989586621679513097"><span class="annot"><span class="annottext">&lt;*&gt; :: forall a b. Product (a -&gt; b) -&gt; Product a -&gt; Product b
</span><a href="GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;*&gt;)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Product (a -&gt; b) -&gt; Product a -&gt; Product b
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span>
</span><span id="line-280"></span><span>
</span><span id="line-281"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-282"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679513090"><span id="local-6989586621679513092"><span class="annot"><a href="GHC.Base.html#Monad"><span class="hs-identifier hs-type">Monad</span></a></span><span> </span><span class="annot"><a href="Data.Semigroup.Internal.html#Product"><span class="hs-identifier hs-type">Product</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-283"></span><span>    </span><span id="local-6989586621679513089"><span class="annot"><span class="annottext">Product a
</span><a href="#local-6989586621679513089"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621679513088"><span class="annot"><span class="annottext">&gt;&gt;= :: forall a b. Product a -&gt; (a -&gt; Product b) -&gt; Product b
</span><a href="GHC.Base.html#%3E%3E%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">&gt;&gt;=</span></a></span></span><span> </span><span id="local-6989586621679513087"><span class="annot"><span class="annottext">a -&gt; Product b
</span><a href="#local-6989586621679513087"><span class="hs-identifier hs-var">k</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Product b
</span><a href="#local-6989586621679513087"><span class="hs-identifier hs-var">k</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Product a -&gt; a
forall a. Product a -&gt; a
</span><a href="Data.Semigroup.Internal.html#getProduct"><span class="hs-identifier hs-var hs-var">getProduct</span></a></span><span> </span><span class="annot"><span class="annottext">Product a
</span><a href="#local-6989586621679513089"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-284"></span><span>
</span><span id="line-285"></span><span>
</span><span id="line-286"></span><span class="hs-comment">-- | Monoid under '&lt;|&gt;'.</span><span>
</span><span id="line-287"></span><span class="hs-comment">--</span><span>
</span><span id="line-288"></span><span class="hs-comment">-- &gt;&gt;&gt; getAlt (Alt (Just 12) &lt;&gt; Alt (Just 24))</span><span>
</span><span id="line-289"></span><span class="hs-comment">-- Just 12</span><span>
</span><span id="line-290"></span><span class="hs-comment">--</span><span>
</span><span id="line-291"></span><span class="hs-comment">-- &gt;&gt;&gt; getAlt $ Alt Nothing &lt;&gt; Alt (Just 24)</span><span>
</span><span id="line-292"></span><span class="hs-comment">-- Just 24</span><span>
</span><span id="line-293"></span><span class="hs-comment">--</span><span>
</span><span id="line-294"></span><span class="hs-comment">-- @since 4.8.0.0</span><span>
</span><span id="line-295"></span><span id="local-6989586621679513083"><span id="local-6989586621679513084"><span id="local-6989586621679513085"><span id="local-6989586621679513086"></span></span></span></span><span class="hs-keyword">newtype</span><span> </span><span id="Alt"><span class="annot"><a href="Data.Semigroup.Internal.html#Alt"><span class="hs-identifier hs-var">Alt</span></a></span></span><span> </span><span id="local-6989586621679514157"><span class="annot"><a href="#local-6989586621679514157"><span class="hs-identifier hs-type">f</span></a></span></span><span> </span><span id="local-6989586621679514156"><span class="annot"><a href="#local-6989586621679514156"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Alt"><span class="annot"><a href="Data.Semigroup.Internal.html#Alt"><span class="hs-identifier hs-var">Alt</span></a></span></span><span> </span><span class="hs-special">{</span><span id="getAlt"><span class="annot"><span class="annottext">forall {k} (f :: k -&gt; *) (a :: k). Alt f a -&gt; f a
</span><a href="Data.Semigroup.Internal.html#getAlt"><span class="hs-identifier hs-var hs-var">getAlt</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514157"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514156"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">}</span><span>
</span><span id="line-296"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><span class="annottext">(forall x. Alt f a -&gt; Rep (Alt f a) x)
-&gt; (forall x. Rep (Alt f a) x -&gt; Alt f a) -&gt; Generic (Alt f a)
forall x. Rep (Alt f a) x -&gt; Alt f a
forall x. Alt f a -&gt; Rep (Alt f a) x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
forall k (f :: k -&gt; *) (a :: k) x. Rep (Alt f a) x -&gt; Alt f a
forall k (f :: k -&gt; *) (a :: k) x. Alt f a -&gt; Rep (Alt f a) x
$cto :: forall k (f :: k -&gt; *) (a :: k) x. Rep (Alt f a) x -&gt; Alt f a
$cfrom :: forall k (f :: k -&gt; *) (a :: k) x. Alt f a -&gt; Rep (Alt f a) x
</span><a href="GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span>     </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-297"></span><span>           </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall (a :: k). Alt f a -&gt; Rep1 (Alt f) a)
-&gt; (forall (a :: k). Rep1 (Alt f) a -&gt; Alt f a) -&gt; Generic1 (Alt f)
forall (a :: k). Rep1 (Alt f) a -&gt; Alt f a
forall (a :: k). Alt f a -&gt; Rep1 (Alt f) a
forall k (f :: k -&gt; *).
(forall (a :: k). f a -&gt; Rep1 f a)
-&gt; (forall (a :: k). Rep1 f a -&gt; f a) -&gt; Generic1 f
forall k (f :: k -&gt; *) (a :: k). Rep1 (Alt f) a -&gt; Alt f a
forall k (f :: k -&gt; *) (a :: k). Alt f a -&gt; Rep1 (Alt f) a
$cto1 :: forall k (f :: k -&gt; *) (a :: k). Rep1 (Alt f) a -&gt; Alt f a
$cfrom1 :: forall k (f :: k -&gt; *) (a :: k). Alt f a -&gt; Rep1 (Alt f) a
</span><a href="GHC.Generics.html#Generic1"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic1</span></a></span><span>    </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-298"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513060"><span id="local-6989586621679513068"><span id="local-6989586621679513071"><span id="local-6989586621679513073"><span class="annot"><span class="annottext">ReadPrec [Alt f a]
ReadPrec (Alt f a)
Int -&gt; ReadS (Alt f a)
ReadS [Alt f a]
(Int -&gt; ReadS (Alt f a))
-&gt; ReadS [Alt f a]
-&gt; ReadPrec (Alt f a)
-&gt; ReadPrec [Alt f a]
-&gt; Read (Alt f a)
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
forall k (f :: k -&gt; *) (a :: k). Read (f a) =&gt; ReadPrec [Alt f a]
forall k (f :: k -&gt; *) (a :: k). Read (f a) =&gt; ReadPrec (Alt f a)
forall k (f :: k -&gt; *) (a :: k).
Read (f a) =&gt;
Int -&gt; ReadS (Alt f a)
forall k (f :: k -&gt; *) (a :: k). Read (f a) =&gt; ReadS [Alt f a]
readListPrec :: ReadPrec [Alt f a]
$creadListPrec :: forall k (f :: k -&gt; *) (a :: k). Read (f a) =&gt; ReadPrec [Alt f a]
readPrec :: ReadPrec (Alt f a)
$creadPrec :: forall k (f :: k -&gt; *) (a :: k). Read (f a) =&gt; ReadPrec (Alt f a)
readList :: ReadS [Alt f a]
$creadList :: forall k (f :: k -&gt; *) (a :: k). Read (f a) =&gt; ReadS [Alt f a]
readsPrec :: Int -&gt; ReadS (Alt f a)
$creadsPrec :: forall k (f :: k -&gt; *) (a :: k).
Read (f a) =&gt;
Int -&gt; ReadS (Alt f a)
</span><a href="GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span>        </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-299"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513051"><span id="local-6989586621679513053"><span id="local-6989586621679513057"><span class="annot"><span class="annottext">Int -&gt; Alt f a -&gt; ShowS
[Alt f a] -&gt; ShowS
Alt f a -&gt; [Char]
(Int -&gt; Alt f a -&gt; ShowS)
-&gt; (Alt f a -&gt; [Char]) -&gt; ([Alt f a] -&gt; ShowS) -&gt; Show (Alt f a)
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; ShowS) -&gt; Show a
forall k (f :: k -&gt; *) (a :: k).
Show (f a) =&gt;
Int -&gt; Alt f a -&gt; ShowS
forall k (f :: k -&gt; *) (a :: k). Show (f a) =&gt; [Alt f a] -&gt; ShowS
forall k (f :: k -&gt; *) (a :: k). Show (f a) =&gt; Alt f a -&gt; [Char]
showList :: [Alt f a] -&gt; ShowS
$cshowList :: forall k (f :: k -&gt; *) (a :: k). Show (f a) =&gt; [Alt f a] -&gt; ShowS
show :: Alt f a -&gt; [Char]
$cshow :: forall k (f :: k -&gt; *) (a :: k). Show (f a) =&gt; Alt f a -&gt; [Char]
showsPrec :: Int -&gt; Alt f a -&gt; ShowS
$cshowsPrec :: forall k (f :: k -&gt; *) (a :: k).
Show (f a) =&gt;
Int -&gt; Alt f a -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>        </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-300"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513044"><span id="local-6989586621679513048"><span class="annot"><span class="annottext">Alt f a -&gt; Alt f a -&gt; Bool
(Alt f a -&gt; Alt f a -&gt; Bool)
-&gt; (Alt f a -&gt; Alt f a -&gt; Bool) -&gt; Eq (Alt f a)
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
forall k (f :: k -&gt; *) (a :: k).
Eq (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
/= :: Alt f a -&gt; Alt f a -&gt; Bool
$c/= :: forall k (f :: k -&gt; *) (a :: k).
Eq (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
== :: Alt f a -&gt; Alt f a -&gt; Bool
$c== :: forall k (f :: k -&gt; *) (a :: k).
Eq (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>          </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-301"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679513011"><span id="local-6989586621679513015"><span id="local-6989586621679513019"><span id="local-6989586621679513023"><span id="local-6989586621679513027"><span id="local-6989586621679513031"><span id="local-6989586621679513035"><span class="annot"><span class="annottext">Eq (Alt f a)
Eq (Alt f a)
-&gt; (Alt f a -&gt; Alt f a -&gt; Ordering)
-&gt; (Alt f a -&gt; Alt f a -&gt; Bool)
-&gt; (Alt f a -&gt; Alt f a -&gt; Bool)
-&gt; (Alt f a -&gt; Alt f a -&gt; Bool)
-&gt; (Alt f a -&gt; Alt f a -&gt; Bool)
-&gt; (Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; Ord (Alt f a)
Alt f a -&gt; Alt f a -&gt; Bool
Alt f a -&gt; Alt f a -&gt; Ordering
Alt f a -&gt; Alt f a -&gt; Alt f a
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
forall {k} {f :: k -&gt; *} {a :: k}. Ord (f a) =&gt; Eq (Alt f a)
forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Ordering
forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
min :: Alt f a -&gt; Alt f a -&gt; Alt f a
$cmin :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
max :: Alt f a -&gt; Alt f a -&gt; Alt f a
$cmax :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
&gt;= :: Alt f a -&gt; Alt f a -&gt; Bool
$c&gt;= :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
&gt; :: Alt f a -&gt; Alt f a -&gt; Bool
$c&gt; :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
&lt;= :: Alt f a -&gt; Alt f a -&gt; Bool
$c&lt;= :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
&lt; :: Alt f a -&gt; Alt f a -&gt; Bool
$c&lt; :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Bool
compare :: Alt f a -&gt; Alt f a -&gt; Ordering
$ccompare :: forall k (f :: k -&gt; *) (a :: k).
Ord (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>         </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-302"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512981"><span id="local-6989586621679512985"><span id="local-6989586621679512989"><span id="local-6989586621679512993"><span id="local-6989586621679512997"><span id="local-6989586621679513001"><span id="local-6989586621679513005"><span class="annot"><span class="annottext">Integer -&gt; Alt f a
Alt f a -&gt; Alt f a
Alt f a -&gt; Alt f a -&gt; Alt f a
(Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a)
-&gt; (Integer -&gt; Alt f a)
-&gt; Num (Alt f a)
forall a.
(a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (Integer -&gt; a)
-&gt; Num a
forall k (f :: k -&gt; *) (a :: k). Num (f a) =&gt; Integer -&gt; Alt f a
forall k (f :: k -&gt; *) (a :: k). Num (f a) =&gt; Alt f a -&gt; Alt f a
forall k (f :: k -&gt; *) (a :: k).
Num (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
fromInteger :: Integer -&gt; Alt f a
$cfromInteger :: forall k (f :: k -&gt; *) (a :: k). Num (f a) =&gt; Integer -&gt; Alt f a
signum :: Alt f a -&gt; Alt f a
$csignum :: forall k (f :: k -&gt; *) (a :: k). Num (f a) =&gt; Alt f a -&gt; Alt f a
abs :: Alt f a -&gt; Alt f a
$cabs :: forall k (f :: k -&gt; *) (a :: k). Num (f a) =&gt; Alt f a -&gt; Alt f a
negate :: Alt f a -&gt; Alt f a
$cnegate :: forall k (f :: k -&gt; *) (a :: k). Num (f a) =&gt; Alt f a -&gt; Alt f a
* :: Alt f a -&gt; Alt f a -&gt; Alt f a
$c* :: forall k (f :: k -&gt; *) (a :: k).
Num (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
- :: Alt f a -&gt; Alt f a -&gt; Alt f a
$c- :: forall k (f :: k -&gt; *) (a :: k).
Num (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
+ :: Alt f a -&gt; Alt f a -&gt; Alt f a
$c+ :: forall k (f :: k -&gt; *) (a :: k).
Num (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
</span><a href="GHC.Num.html#Num"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Num</span></a></span></span></span></span></span></span></span></span><span>         </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-303"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512947"><span id="local-6989586621679512951"><span id="local-6989586621679512955"><span id="local-6989586621679512959"><span id="local-6989586621679512963"><span id="local-6989586621679512967"><span id="local-6989586621679512971"><span id="local-6989586621679512975"><span class="annot"><span class="annottext">Int -&gt; Alt f a
Alt f a -&gt; Int
Alt f a -&gt; [Alt f a]
Alt f a -&gt; Alt f a
Alt f a -&gt; Alt f a -&gt; [Alt f a]
Alt f a -&gt; Alt f a -&gt; Alt f a -&gt; [Alt f a]
(Alt f a -&gt; Alt f a)
-&gt; (Alt f a -&gt; Alt f a)
-&gt; (Int -&gt; Alt f a)
-&gt; (Alt f a -&gt; Int)
-&gt; (Alt f a -&gt; [Alt f a])
-&gt; (Alt f a -&gt; Alt f a -&gt; [Alt f a])
-&gt; (Alt f a -&gt; Alt f a -&gt; [Alt f a])
-&gt; (Alt f a -&gt; Alt f a -&gt; Alt f a -&gt; [Alt f a])
-&gt; Enum (Alt f a)
forall a.
(a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (Int -&gt; a)
-&gt; (a -&gt; Int)
-&gt; (a -&gt; [a])
-&gt; (a -&gt; a -&gt; [a])
-&gt; (a -&gt; a -&gt; [a])
-&gt; (a -&gt; a -&gt; a -&gt; [a])
-&gt; Enum a
forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Int -&gt; Alt f a
forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; Int
forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; [Alt f a]
forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; Alt f a
forall k (f :: k -&gt; *) (a :: k).
Enum (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; [Alt f a]
forall k (f :: k -&gt; *) (a :: k).
Enum (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a -&gt; [Alt f a]
enumFromThenTo :: Alt f a -&gt; Alt f a -&gt; Alt f a -&gt; [Alt f a]
$cenumFromThenTo :: forall k (f :: k -&gt; *) (a :: k).
Enum (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a -&gt; [Alt f a]
enumFromTo :: Alt f a -&gt; Alt f a -&gt; [Alt f a]
$cenumFromTo :: forall k (f :: k -&gt; *) (a :: k).
Enum (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; [Alt f a]
enumFromThen :: Alt f a -&gt; Alt f a -&gt; [Alt f a]
$cenumFromThen :: forall k (f :: k -&gt; *) (a :: k).
Enum (f a) =&gt;
Alt f a -&gt; Alt f a -&gt; [Alt f a]
enumFrom :: Alt f a -&gt; [Alt f a]
$cenumFrom :: forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; [Alt f a]
fromEnum :: Alt f a -&gt; Int
$cfromEnum :: forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; Int
toEnum :: Int -&gt; Alt f a
$ctoEnum :: forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Int -&gt; Alt f a
pred :: Alt f a -&gt; Alt f a
$cpred :: forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; Alt f a
succ :: Alt f a -&gt; Alt f a
$csucc :: forall k (f :: k -&gt; *) (a :: k). Enum (f a) =&gt; Alt f a -&gt; Alt f a
</span><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Enum</span></a></span></span></span></span></span></span></span></span></span><span>        </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-304"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512928"><span id="local-6989586621679512932"><span id="local-6989586621679512936"><span class="annot"><span class="annottext">Applicative (Alt f)
Applicative (Alt f)
-&gt; (forall a b. Alt f a -&gt; (a -&gt; Alt f b) -&gt; Alt f b)
-&gt; (forall a b. Alt f a -&gt; Alt f b -&gt; Alt f b)
-&gt; (forall a. a -&gt; Alt f a)
-&gt; Monad (Alt f)
forall a. a -&gt; Alt f a
forall a b. Alt f a -&gt; Alt f b -&gt; Alt f b
forall a b. Alt f a -&gt; (a -&gt; Alt f b) -&gt; Alt f b
forall {f :: * -&gt; *}. Monad f =&gt; Applicative (Alt f)
forall (f :: * -&gt; *) a. Monad f =&gt; a -&gt; Alt f a
forall (f :: * -&gt; *) a b. Monad f =&gt; Alt f a -&gt; Alt f b -&gt; Alt f b
forall (f :: * -&gt; *) a b.
Monad f =&gt;
Alt f a -&gt; (a -&gt; Alt f b) -&gt; Alt f b
forall (m :: * -&gt; *).
Applicative m
-&gt; (forall a b. m a -&gt; (a -&gt; m b) -&gt; m b)
-&gt; (forall a b. m a -&gt; m b -&gt; m b)
-&gt; (forall a. a -&gt; m a)
-&gt; Monad m
return :: forall a. a -&gt; Alt f a
$creturn :: forall (f :: * -&gt; *) a. Monad f =&gt; a -&gt; Alt f a
&gt;&gt; :: forall a b. Alt f a -&gt; Alt f b -&gt; Alt f b
$c&gt;&gt; :: forall (f :: * -&gt; *) a b. Monad f =&gt; Alt f a -&gt; Alt f b -&gt; Alt f b
&gt;&gt;= :: forall a b. Alt f a -&gt; (a -&gt; Alt f b) -&gt; Alt f b
$c&gt;&gt;= :: forall (f :: * -&gt; *) a b.
Monad f =&gt;
Alt f a -&gt; (a -&gt; Alt f b) -&gt; Alt f b
</span><a href="GHC.Base.html#Monad"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Monad</span></a></span></span></span></span><span>       </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-305"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512910"><span id="local-6989586621679512914"><span class="annot"><span class="annottext">Monad (Alt f)
Alternative (Alt f)
Alternative (Alt f)
-&gt; Monad (Alt f)
-&gt; (forall a. Alt f a)
-&gt; (forall a. Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; MonadPlus (Alt f)
forall a. Alt f a
forall a. Alt f a -&gt; Alt f a -&gt; Alt f a
forall (m :: * -&gt; *).
Alternative m
-&gt; Monad m
-&gt; (forall a. m a)
-&gt; (forall a. m a -&gt; m a -&gt; m a)
-&gt; MonadPlus m
forall {f :: * -&gt; *}. MonadPlus f =&gt; Monad (Alt f)
forall {f :: * -&gt; *}. MonadPlus f =&gt; Alternative (Alt f)
forall (f :: * -&gt; *) a. MonadPlus f =&gt; Alt f a
forall (f :: * -&gt; *) a.
MonadPlus f =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
mplus :: forall a. Alt f a -&gt; Alt f a -&gt; Alt f a
$cmplus :: forall (f :: * -&gt; *) a.
MonadPlus f =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
mzero :: forall a. Alt f a
$cmzero :: forall (f :: * -&gt; *) a. MonadPlus f =&gt; Alt f a
</span><a href="GHC.Base.html#C%3AMonadPlus"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">MonadPlus</span></a></span></span></span><span>   </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-306"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512881"><span id="local-6989586621679512885"><span id="local-6989586621679512889"><span id="local-6989586621679512893"><span id="local-6989586621679512897"><span class="annot"><span class="annottext">Functor (Alt f)
Functor (Alt f)
-&gt; (forall a. a -&gt; Alt f a)
-&gt; (forall a b. Alt f (a -&gt; b) -&gt; Alt f a -&gt; Alt f b)
-&gt; (forall a b c. (a -&gt; b -&gt; c) -&gt; Alt f a -&gt; Alt f b -&gt; Alt f c)
-&gt; (forall a b. Alt f a -&gt; Alt f b -&gt; Alt f b)
-&gt; (forall a b. Alt f a -&gt; Alt f b -&gt; Alt f a)
-&gt; Applicative (Alt f)
forall a. a -&gt; Alt f a
forall a b. Alt f a -&gt; Alt f b -&gt; Alt f a
forall a b. Alt f a -&gt; Alt f b -&gt; Alt f b
forall a b. Alt f (a -&gt; b) -&gt; Alt f a -&gt; Alt f b
forall a b c. (a -&gt; b -&gt; c) -&gt; Alt f a -&gt; Alt f b -&gt; Alt f c
forall (f :: * -&gt; *).
Functor f
-&gt; (forall a. a -&gt; f a)
-&gt; (forall a b. f (a -&gt; b) -&gt; f a -&gt; f b)
-&gt; (forall a b c. (a -&gt; b -&gt; c) -&gt; f a -&gt; f b -&gt; f c)
-&gt; (forall a b. f a -&gt; f b -&gt; f b)
-&gt; (forall a b. f a -&gt; f b -&gt; f a)
-&gt; Applicative f
forall {f :: * -&gt; *}. Applicative f =&gt; Functor (Alt f)
forall (f :: * -&gt; *) a. Applicative f =&gt; a -&gt; Alt f a
forall (f :: * -&gt; *) a b.
Applicative f =&gt;
Alt f a -&gt; Alt f b -&gt; Alt f a
forall (f :: * -&gt; *) a b.
Applicative f =&gt;
Alt f a -&gt; Alt f b -&gt; Alt f b
forall (f :: * -&gt; *) a b.
Applicative f =&gt;
Alt f (a -&gt; b) -&gt; Alt f a -&gt; Alt f b
forall (f :: * -&gt; *) a b c.
Applicative f =&gt;
(a -&gt; b -&gt; c) -&gt; Alt f a -&gt; Alt f b -&gt; Alt f c
&lt;* :: forall a b. Alt f a -&gt; Alt f b -&gt; Alt f a
$c&lt;* :: forall (f :: * -&gt; *) a b.
Applicative f =&gt;
Alt f a -&gt; Alt f b -&gt; Alt f a
*&gt; :: forall a b. Alt f a -&gt; Alt f b -&gt; Alt f b
$c*&gt; :: forall (f :: * -&gt; *) a b.
Applicative f =&gt;
Alt f a -&gt; Alt f b -&gt; Alt f b
liftA2 :: forall a b c. (a -&gt; b -&gt; c) -&gt; Alt f a -&gt; Alt f b -&gt; Alt f c
$cliftA2 :: forall (f :: * -&gt; *) a b c.
Applicative f =&gt;
(a -&gt; b -&gt; c) -&gt; Alt f a -&gt; Alt f b -&gt; Alt f c
&lt;*&gt; :: forall a b. Alt f (a -&gt; b) -&gt; Alt f a -&gt; Alt f b
$c&lt;*&gt; :: forall (f :: * -&gt; *) a b.
Applicative f =&gt;
Alt f (a -&gt; b) -&gt; Alt f a -&gt; Alt f b
pure :: forall a. a -&gt; Alt f a
$cpure :: forall (f :: * -&gt; *) a. Applicative f =&gt; a -&gt; Alt f a
</span><a href="GHC.Base.html#Applicative"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Applicative</span></a></span></span></span></span></span></span><span> </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-307"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512860"><span id="local-6989586621679512864"><span id="local-6989586621679512868"><span id="local-6989586621679512872"><span class="annot"><span class="annottext">Applicative (Alt f)
Applicative (Alt f)
-&gt; (forall a. Alt f a)
-&gt; (forall a. Alt f a -&gt; Alt f a -&gt; Alt f a)
-&gt; (forall a. Alt f a -&gt; Alt f [a])
-&gt; (forall a. Alt f a -&gt; Alt f [a])
-&gt; Alternative (Alt f)
forall a. Alt f a
forall a. Alt f a -&gt; Alt f [a]
forall a. Alt f a -&gt; Alt f a -&gt; Alt f a
forall (f :: * -&gt; *).
Applicative f
-&gt; (forall a. f a)
-&gt; (forall a. f a -&gt; f a -&gt; f a)
-&gt; (forall a. f a -&gt; f [a])
-&gt; (forall a. f a -&gt; f [a])
-&gt; Alternative f
forall {f :: * -&gt; *}. Alternative f =&gt; Applicative (Alt f)
forall (f :: * -&gt; *) a. Alternative f =&gt; Alt f a
forall (f :: * -&gt; *) a. Alternative f =&gt; Alt f a -&gt; Alt f [a]
forall (f :: * -&gt; *) a.
Alternative f =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
many :: forall a. Alt f a -&gt; Alt f [a]
$cmany :: forall (f :: * -&gt; *) a. Alternative f =&gt; Alt f a -&gt; Alt f [a]
some :: forall a. Alt f a -&gt; Alt f [a]
$csome :: forall (f :: * -&gt; *) a. Alternative f =&gt; Alt f a -&gt; Alt f [a]
&lt;|&gt; :: forall a. Alt f a -&gt; Alt f a -&gt; Alt f a
$c&lt;|&gt; :: forall (f :: * -&gt; *) a.
Alternative f =&gt;
Alt f a -&gt; Alt f a -&gt; Alt f a
empty :: forall a. Alt f a
$cempty :: forall (f :: * -&gt; *) a. Alternative f =&gt; Alt f a
</span><a href="GHC.Base.html#C%3AAlternative"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Alternative</span></a></span></span></span></span></span><span> </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-308"></span><span>           </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679512849"><span id="local-6989586621679512853"><span class="annot"><span class="annottext">(forall a b. (a -&gt; b) -&gt; Alt f a -&gt; Alt f b)
-&gt; (forall a b. a -&gt; Alt f b -&gt; Alt f a) -&gt; Functor (Alt f)
forall a b. a -&gt; Alt f b -&gt; Alt f a
forall a b. (a -&gt; b) -&gt; Alt f a -&gt; Alt f b
forall (f :: * -&gt; *) a b. Functor f =&gt; a -&gt; Alt f b -&gt; Alt f a
forall (f :: * -&gt; *) a b.
Functor f =&gt;
(a -&gt; b) -&gt; Alt f a -&gt; Alt f b
forall (f :: * -&gt; *).
(forall a b. (a -&gt; b) -&gt; f a -&gt; f b)
-&gt; (forall a b. a -&gt; f b -&gt; f a) -&gt; Functor f
&lt;$ :: forall a b. a -&gt; Alt f b -&gt; Alt f a
$c&lt;$ :: forall (f :: * -&gt; *) a b. Functor f =&gt; a -&gt; Alt f b -&gt; Alt f a
fmap :: forall a b. (a -&gt; b) -&gt; Alt f a -&gt; Alt f b
$cfmap :: forall (f :: * -&gt; *) a b.
Functor f =&gt;
(a -&gt; b) -&gt; Alt f a -&gt; Alt f b
</span><a href="GHC.Base.html#Functor"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Functor</span></a></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 4.8.0.0</span><span>
</span><span id="line-309"></span><span>           </span><span class="hs-special">)</span><span>
</span><span id="line-310"></span><span>
</span><span id="line-311"></span><span class="hs-comment">-- | @since 4.9.0.0</span><span>
</span><span id="line-312"></span><span id="local-6989586621679514099"><span id="local-6989586621679514100"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679512844"><span class="annot"><a href="GHC.Base.html#Alternative"><span class="hs-identifier hs-type">Alternative</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514100"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Alt"><span class="hs-identifier hs-type">Alt</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514100"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514099"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-313"></span><span>    </span><span id="local-6989586621679512840"><span class="annot"><span class="annottext">&lt;&gt; :: Alt f a -&gt; Alt f a -&gt; Alt f a
</span><a href="GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(f a -&gt; f a -&gt; f a) -&gt; Alt f a -&gt; Alt f a -&gt; Alt f a
</span><a href="../../ghc-prim/src/GHC.Prim.html#coerce"><span class="hs-identifier hs-var">coerce</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f a -&gt; f a -&gt; f a
forall (f :: * -&gt; *) a. Alternative f =&gt; f a -&gt; f a -&gt; f a
</span><a href="GHC.Base.html#%3C%7C%3E"><span class="hs-operator hs-var">(&lt;|&gt;)</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679514100"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514099"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514100"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514099"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679514100"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514099"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-314"></span><span>    </span><span id="local-6989586621679512835"><span class="annot"><span class="annottext">stimes :: forall b. Integral b =&gt; b -&gt; Alt f a -&gt; Alt f a
</span><a href="#local-6989586621679512835"><span class="hs-identifier hs-var hs-var hs-var hs-var">stimes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; Alt f a -&gt; Alt f a
forall b a. (Integral b, Monoid a) =&gt; b -&gt; a -&gt; a
</span><a href="Data.Semigroup.Internal.html#stimesMonoid"><span class="hs-identifier hs-var">stimesMonoid</span></a></span></span></span><span>
</span><span id="line-315"></span><span>
</span><span id="line-316"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-317"></span><span id="local-6989586621679514096"><span id="local-6989586621679514097"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679512828"><span id="local-6989586621679512830"><span class="annot"><a href="GHC.Base.html#Alternative"><span class="hs-identifier hs-type">Alternative</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514097"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Semigroup.Internal.html#Alt"><span class="hs-identifier hs-type">Alt</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514097"><span class="hs-identifier hs-type">f</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679514096"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-318"></span><span>    </span><span id="local-6989586621679512826"><span class="annot"><span class="annottext">mempty :: Alt f a
</span><a href="GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">f a -&gt; Alt f a
forall {k} (f :: k -&gt; *) (a :: k). f a -&gt; Alt f a
</span><a href="Data.Semigroup.Internal.html#Alt"><span class="hs-identifier hs-var">Alt</span></a></span><span> </span><span class="annot"><span class="annottext">f a
forall (f :: * -&gt; *) a. Alternative f =&gt; f a
</span><a href="GHC.Base.html#empty"><span class="hs-identifier hs-var">empty</span></a></span></span></span><span>
</span><span id="line-319"></span></pre></body></html>